import 'package:get/get.dart';
import 'package:study_demo/api/bean.dart';
import 'package:study_demo/base/BaseController.dart';

class SlideController extends BaseController {
  final newsList = <NewsData>[].obs;
  final names = {
    '天龙八部',
    '射雕英雄传',
    '神雕侠侣',
    '倚天屠龙记',
    '笑傲江湖',
    '雪山飞狐',
    '飞狐外传',
    '书剑恩仇录',
    '白马啸西风',
    '鹿鼎记'
  };

  @override
  void onInit() {
    super.onInit();
    for (int i = 0; i < 10; i++) {
      NewsData newsData = NewsData();
      newsData.D_ID = i + 1;
      newsData.D_Title = names.elementAt(i);
      newsList.add(newsData);
    }
  }

  /// Dart中，如果在collection（集合）的循环中执行增加或删除系统就会抛出这个错误:Concurrent modification during iteration:
  /// Instance(length:3) of '_GrowableList'。
  /// 其原因在于Dart为了防止多线程下，一个线程正在遍历，而另一个线程修改了collection的结构。
  deleteItem(int id) {
    newsList.removeWhere((value) {
      return value.D_ID == id;
    });
  }
}
